Point updater release URLs at nesszer releases - #403
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe updater now checks releases in ChangesUpdater repository target
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to This change points updater requests to the canonical release repository while preserving asset matching and version behavior; no actionable merge-blocking risk remains after normal checks and review. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Summary
Point the in-app updater's release endpoints at the
nesszer/Win-CodexBarGitHub releases. PR #402 (merged) intentionally left the updater URLs onFinesssee/Win-CodexBarpending verification; this PR flips them after verifying nesszer releases exist with matching assets.Finesssee/Win-CodexBarnow redirects tonesszer/Win-CodexBar(gh api repos/Finesssee/Win-CodexBar --jq .full_name→nesszer/Win-CodexBar), so both repos serve identical releases — this change makes the canonical repo explicit instead of relying on the redirect.Winget identity note:
PackageIdentifierremainsFinesssee.Win-CodexBar; untouched. Installer metadata (rust/Cargo.toml:8repository field,rust/installer/codexbar.iss:27-29,rust/wix/main.wxs:168) intentionally unchanged — those do not feed updater network calls.Step 1 verification evidence (read-only network)
Update-check endpoint resolves on nesszer
nesszer releases (latest 10)
Latest nesszer release assets match what the updater constructs/downloads
Updater asset matcher (
rust/src/updater.rs:191-194): name ends with-setup.exeor.msi(case-insensitive). Release tags yield versions viaremote_version_from_tag(strips leadingv).CodexBar-0.55.0-Setup.exematchesis_installer_asset_name(ends-Setup.exe) →UpdateDelivery::Installer(auto-download + auto-apply path).digestfields aresha256:<64-hex>→ parsed byparse_sha256_digestfor download hash verification.v0.55.0→ version0.55.0= current crate version (rust/Cargo.toml), so the updater resolves "latest" cleanly.Finesssee comparison (naming convention identical)
Same tags, same timestamps, same asset names (
CodexBar-0.55.0-portable.exe,CodexBar-0.55.0-portable.exe.sha256,CodexBar-0.55.0-Setup.exe,CodexBar-0.55.0-Setup.exe.sha256) — the Finesssee name resolves to the same underlying repo (full_name: nesszer/Win-CodexBar), so the naming convention is unchanged and the flip is asset-compatible.Diff summary
Single commit, 1 file, 4 lines (updater network paths + matching test fixtures only):
rust/src/updater.rs:10—GITHUB_REPOconstant"Finesssee/Win-CodexBar"→"nesszer/Win-CodexBar"(feeds bothrelease_urlchannels: stablereleases/latestand betareleases,updater.rs:116-126).rust/src/updater.rs:723,759,774— test fixturehtml_url/ expected download URL strings updated to match.URL construction style preserved (
format!("https://api.github.com/repos/{}/releases...", GITHUB_REPO)). No other Finesssee references touched:rust/Cargo.toml:8(manifestrepositorymetadata, not updater network),rust/installer/codexbar.iss:27-29,rust/wix/main.wxs:168(installer metadata),rust/CHANGELOG.md(historical links),apps/desktop-taurivalidate_external_urltests (generic URL validation, not updater).Test results
cargo test --manifest-path apps/desktop-tauri/src-tauri/Cargo.toml+ clippy not run separately: the Tauri shell consumescodexbar::updaterviacodexbar::updater::check_for_updates_with_channeletc. and contains no URL literals of its own (grep Finesssee apps/desktop-tauri→ only genericvalidate_external_urltests, unaffected); updater code compiles/tests in therustcrate already covered above.Commit
552129e40— "Point updater release URLs at nesszer releases"Summary by CodeRabbit